package com.project.service;

import com.project.bean.CutPageBean;
import com.project.bean.RoomBean;
import com.project.bean.StudentBean;

import java.util.List;

public interface RoomService {
    /**
     * 分页动态查询房间，同时统计每个房间的已住人数
     *
     * @param address 房间地址
     * @param state   房间状态
     * @param type    房间类型
     * @param live    房间是否可住房间
     * @return 分页房间集合
     */
    public CutPageBean<RoomBean> findByItem(Integer pageNO, String address, String state, String type, String live);

    /**
     * 根据id查询房间信息，同时统计该房间的已住人数
     * 同时显示该房间所住的学生信息，在学生信息中，需要查询学生所在班级名称
     *
     * @param id 房间id
     * @return 房间对象
     */
    public RoomBean findById(Integer id);

    /**
     * 根据id删除房间
     * 同时统计该房间的已住人数，如果为0，则完成房间的删除，同时删除房间的设施维护信息，返回true
     * 删除失败返回false
     *
     * @param id 房间id
     * @return 删除是否成功
     */
    public boolean del(Integer id);

    /**
     * 根据性别查找房间
     *
     * @param sex 性别
     * @return 分页房间对象
     */
    public List<RoomBean> findBySex(String sex);

    /**
     * 添加新房间
     *
     * @param roomBean 房间对象
     */
    public void add(RoomBean roomBean);

    public List<RoomBean> findAllOkRoom();

    public RoomBean findByName(String name);
}
